package com.tulele.vtool.mapper;

import com.tulele.vtool.model.UserImpressionInfo;
import com.tulele.vtool.model.combinedEntity.CombinedUserCurImpressionInfo;
import org.springframework.stereotype.Component;

import java.util.List;

@Component(value = "userImpressionInfoMapper")
public interface UserImpressionInfoMapper {

    /**
     * 查询用户当前印象
     * @param userId
     * @return
     */
    List<CombinedUserCurImpressionInfo> queryUserCurImpression(Integer userId);

    /**
     * 查询用户指定印象的状态
     * @param userImpressionInfo
     * @return
     */
    UserImpressionInfo queryUserImpressionStatus(UserImpressionInfo userImpressionInfo);

    /**
     * 添加用户印象
     * @param userImpressionInfo
     * @return
     */
    int addUserImpressionInfo(UserImpressionInfo userImpressionInfo);

    /**
     * 更新用户印象
     * @param userImpressionInfo
     * @return
     */
    int updateUserImpressionInfo(UserImpressionInfo userImpressionInfo);

    /**
     * 点赞用户印象
     * @param userImpressionInfo
     * @return
     */
    int agreeUserImpression(UserImpressionInfo userImpressionInfo);

    /**
     * 查询印象的点赞次数
     * @param impressionId
     * @return
     */
    Integer queryUserImpressionAgreeCount(Integer impressionId);
}